\documentclass[tikz,border=2pt]{standalone}

\usepackage{tikz}
\usetikzlibrary{decorations.markings}

\begin{document}
\begin{tikzpicture}[scale=2.5,>=latex]

    % Axes in the B_y - B_z plane:   
    % Horizontal axis: B_y component of the Bloch vector
    % Vertical axis:   B_z component of the Bloch vector
    \draw[->, very thick] (0,0) -- (2.1,0) node[right] {$B_y$};
    \draw[->, very thick] (0,0) -- (0,2.1) node[above] {$B_z$};

    % Geometric parameters (radii and angles)
    \def\Bzero{1}    % inner radius  (B = B0)
    \def\Bone{2}   % outer radius  (B = B1)
    \def\AngOne{30}  % angle θ1
    \def\AngTwo{60}  % angle θ2

    % States of the Otto cycle (S1, S2, S3, S4 correspond to states 1, 2, 3, 4)
    \coordinate (S1) at ({\Bone*cos(\AngOne)},{\Bone*sin(\AngOne)}); % state 1: (B1, θ1)
    \coordinate (S2) at ({\Bone*cos(\AngTwo)},{\Bone*sin(\AngTwo)}); % state 2: (B1, θ2)
    \coordinate (S3) at ({\Bzero*cos(\AngTwo)},{\Bzero*sin(\AngTwo)});   % state 3: (B0, θ2)
    \coordinate (S4) at ({\Bzero*cos(\AngOne)},{\Bzero*sin(\AngOne)});   % state 4: (B0, θ1)

    % Dotted radial lines marking the fixed angles θ of the isochoric processes
    \draw[dotted, very thick] (0,0) -- (S2); % θ2 
    \draw[dotted, very thick] (0,0) -- (S4); % θ1 

    % Stroke 1 -> 2 : Isentropic process (B = B1), θ changes from θ1 to θ2
    \draw[ultra thick,blue,
      postaction={decorate,decoration={markings, mark=at position 0.5 with {\arrow{>}}}}
    ] (S1) arc (\AngOne:\AngTwo:\Bone);

    % Stroke 2 -> 3 : Isochoric heating (θ = θ2), B decreases from B1 to B0
    \draw[ultra thick,red,
      postaction={decorate,decoration={markings, mark=at position 0.5 with {\arrow{>}}}}
    ] (S2) -- (S3);

    % Stroke 3 -> 4 : Isentropic process (B = B0), θ returns from θ2 to θ1
    \draw[ultra thick,blue,
      postaction={decorate,decoration={markings, mark=at position 0.5 with {\arrow{>}}}}
    ] (S3) arc (\AngTwo:\AngOne:\Bzero);

    % Stroke 4 -> 1 : Isochoric cooling (θ = θ1), B increases from B0 to B1
    \draw[ultra thick,red,
      postaction={decorate,decoration={markings, mark=at position 0.5 with {\arrow{>}}}}
    ] (S4) -- (S1);

    % State labels
    \node[above right] at (S1) {$1$};
    \node[above left]  at (S2) {$2$};
    \node[below left, xshift=-3pt, yshift=5pt]  at (S3) {$3$};
    \node[below right] at (S4) {$4$};

    % Angle markers (θ1 and θ2)
    \draw[->] (0,0) ++(90:0.40) arc (90:\AngOne:0.40)
      node[midway, above right, xshift=2pt, yshift=-5pt] {$\theta_1$};

    \draw[->] (0,0.60) arc (90:\AngTwo:0.60)
      node[midway, above] {$\theta_2$};

    % Radius labels (B0 and B1)
    \node at (0.8, 0.8) {$B_0$};
    \node at (1.5, 1.5) {$B_1$};

\end{tikzpicture}
\end{document}
